SPEAKER: Split-Phase Execution of Application Containers
نویسندگان
چکیده
Linux containers have recently gained more popularity as an operating system level virtualization approach for running multiple isolated OS distros on a control host or deploying large scale microservicebased applications in the cloud environment. The wide adoption of containers as an application deployment platform also attracts attackers’ attention. Since the system calls are the entry points for processes trapping into the kernel, Linux seccomp filter has been integrated into popular container management tools such as Docker to effectively constrain the system calls available to the container. However, Docker lacks a method to obtain and customize the set of necessary system calls for a given application. Moreover, we observe that a number of system calls are only used during the short-term booting phase and can be safely removed from the long-term running phase for a given application container. In this paper, we propose a container security mechanism called SPEAKER that can dramatically reduce the number of available system calls to a given application container by customizing and differentiating its necessary system calls at two different execution phases, namely, booting phase and running phase. For a given application container, we first separate its execution into booting phase and running phase and then trace the invoked system calls at these two phases, respectively. Second, we extend the Linux seccomp filter to dynamically update the available system calls when the application is running from the booting phase into the running phase. Our mechanism is non-intrusive to the application running in the container. We evaluate SPEAKER on the popular web server and data store containers from Docker hub, and the experimental results show that it can successfully reduce more than 50% and 35% system calls in the running phase for the data store containers and the web server containers, respectively, with negligible performance overhead.
منابع مشابه
Custom Memory Allocation for Free Improving Data Locality with Container-Centric Memory Allocation
We propose a novel container-centric memory allocation scheme. In this scheme, the container’s semantics guide the memory allocation, which results in data locality improvement and execution time reduction. The container-centric allocation provides the benefits of custom memory allocation, with the portability advantage. Applications need not change a single line of code, but rather change the ...
متن کاملDynamic monitoring framework for the SOA execution environment
The paper analyses the challenges involved in constructing a dynamic monitoring framework compliant with the requirements of SOA application monitoring. The specification of these requirements provides a starting point for our multilayer framework architecture. We describe its Monitoring Scenario and Instrumentation layers in detail. The approach aims at runtime monitoring of container-based SO...
متن کاملGPU-SAM: Leveraging multi-GPU split-and-merge execution for system-wide real-time support
Multi-GPUs appear as an attractive platform to speed up data-parallel GPGPU computation. The idea of split-and-merge execution has been introduced to accelerate the parallelism of multiple GPUs even further. However, it has not been explored before how to exploit such an idea for real-time multi-GPU systems properly. This paper presents an open-source real-time multi-GPU scheduling framework, c...
متن کاملA Pattern for a Virtual Machine Environment
A Virtual Machine environment provides Virtual Machines which are isolated units of execution with access to virtualized hardware resources. VMs are created and managed by the VME upon user requests. VMs are not new, but their significance has increased tremendously with the use of clouds as a means to offer sharing of resources and providing inexpensive, ondemand, isolated units of execution. ...
متن کاملBypass: A Tool for Building Split Execution Systems
Split execution is a common model for providing a friendly environment on a foreign machine. In this model, a remotely executing process sends some or all of its system calls back to a home environment for execution. Unfortunately, hand-coding split execution systems for experimentation and research is difficult and error-prone. We have built a tool, Bypass, for quickly producing portable and c...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017